class MyDateUtil {
  static String formatDate(DateTime dateTime) {
    // 格式化日期为 "yyyy-MM-dd" 格式
    return "${dateTime.year}-${dateTime.month.toString().padLeft(2, '0')}-${dateTime.day.toString().padLeft(2, '0')}";
  }

  //时间转化为是时间戳
  static int dateToTimestamp(String dateString) {
    // 时间字符传转化为 DateTime
    DateTime dateTime = DateTime.parse(dateString);

    // 格式化日期为 "yyyy-MM-dd" 格式
    // 返回时间戳
    return dateTime.millisecondsSinceEpoch;
  }
  //判断传入的时间戳是否是今天
  static bool isTimestampToday(int timestamp) {
    // 将时间戳转换为DateTime对象
    DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(timestamp);

    // 获取今天的开始时间（午夜）
    DateTime todayStart = DateTime(dateTime.year, dateTime.month, dateTime.day);

    // 获取今天的结束时间（午夜前一秒）
    DateTime todayEnd = todayStart.add(const Duration(days: 1)).subtract(const Duration(seconds: 1));

    // 判断传入的时间戳是否在今天的开始和结束时间之间
    return dateTime.isAfter(todayStart) && dateTime.isBefore(todayEnd);
  }

  //检查时间戳是否是最近7天内的，并获取星期几
  static String isRecentSevenDaysAndWeekday(int timestamp) {
    // 将时间戳转换为DateTime对象
    DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(timestamp);

// # 将毫秒级时间戳转换为秒级
// timestamp_seconds = 1713331319000 // 1000

// # 将秒级时间戳转换为 datetime 对象
    // 获取星期几的整数表示（周日为1，周一为2，...，周六为7）
    int weekdayNumber = dateTime.weekday;
    List<String> weekdays = ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"];
    return weekdays[weekdayNumber];
  }
}
